package com.icim.entity;

import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;

public class Spc_ret_mfg_data implements Cloneable {
    public static List<String> SPC_RET_MFG_DATA_VALUE_COLUMN_LIST = new ArrayList<String>();
    static {
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_001");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_002");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_003");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_004");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_005");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_006");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_007");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_008");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_009");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_010");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_011");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_012");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_013");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_014");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_015");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_016");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_017");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_018");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_019");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_020");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_021");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_022");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_023");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_024");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_025");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_026");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_027");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_028");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_029");
        SPC_RET_MFG_DATA_VALUE_COLUMN_LIST.add("data_value_030");
    }
    private String prd_seq_id_fk;
    private String ope_id_fk;
    private String tool_id_fk;
    private String mes_id_fk;
    private Timestamp rpt_timestamp;
    private String rpt_usr;
    private String data_value;
    private Integer data_cnt;
    private String ac_recipe_id;
    private String data_pat_fk;
    private String data_value_001;
    private String data_value_002;
    private String data_value_003;
    private String data_value_004;
    private String data_value_005;
    private String data_value_006;
    private String data_value_007;
    private String data_value_008;
    private String data_value_009;
    private String data_value_010;
    private String data_value_011;
    private String data_value_012;
    private String data_value_013;
    private String data_value_014;
    private String data_value_015;
    private String data_value_016;
    private String data_value_017;
    private String data_value_018;
    private String data_value_019;
    private String data_value_020;
    private String data_value_021;
    private String data_value_022;
    private String data_value_023;
    private String data_value_024;
    private String data_value_025;
    private String data_value_026;
    private String data_value_027;
    private String data_value_028;
    private String data_value_029;
    private String data_value_030;

    public String getPrd_seq_id_fk() {
        return prd_seq_id_fk;
    }

    public void setPrd_seq_id_fk(String prd_seq_id_fk) {
        this.prd_seq_id_fk = prd_seq_id_fk;
    }

    public String getOpe_id_fk() {
        return ope_id_fk;
    }

    public void setOpe_id_fk(String ope_id_fk) {
        this.ope_id_fk = ope_id_fk;
    }

    public String getTool_id_fk() {
        return tool_id_fk;
    }

    public void setTool_id_fk(String tool_id_fk) {
        this.tool_id_fk = tool_id_fk;
    }

    public Timestamp getRpt_timestamp() {
        return rpt_timestamp;
    }

    public void setRpt_timestamp(Timestamp rpt_timestamp) {
        this.rpt_timestamp = rpt_timestamp;
    }

    public String getData_value_001() {
        return data_value_001;
    }

    public void setData_value_001(String data_value_001) {
        this.data_value_001 = data_value_001;
    }

    public String getData_value_002() {
        return data_value_002;
    }

    public void setData_value_002(String data_value_002) {
        this.data_value_002 = data_value_002;
    }

    public String getData_value_003() {
        return data_value_003;
    }

    public void setData_value_003(String data_value_003) {
        this.data_value_003 = data_value_003;
    }

    public String getData_value_004() {
        return data_value_004;
    }

    public void setData_value_004(String data_value_004) {
        this.data_value_004 = data_value_004;
    }

    public String getData_value_005() {
        return data_value_005;
    }

    public void setData_value_005(String data_value_005) {
        this.data_value_005 = data_value_005;
    }

    public String getData_value_006() {
        return data_value_006;
    }

    public void setData_value_006(String data_value_006) {
        this.data_value_006 = data_value_006;
    }

    public String getData_value_007() {
        return data_value_007;
    }

    public void setData_value_007(String data_value_007) {
        this.data_value_007 = data_value_007;
    }

    public String getData_value_008() {
        return data_value_008;
    }

    public void setData_value_008(String data_value_008) {
        this.data_value_008 = data_value_008;
    }

    public String getData_value_009() {
        return data_value_009;
    }

    public void setData_value_009(String data_value_009) {
        this.data_value_009 = data_value_009;
    }

    public String getData_value_010() {
        return data_value_010;
    }

    public void setData_value_010(String data_value_010) {
        this.data_value_010 = data_value_010;
    }

    public String getData_value_011() {
        return data_value_011;
    }

    public void setData_value_011(String data_value_011) {
        this.data_value_011 = data_value_011;
    }

    public String getData_value_012() {
        return data_value_012;
    }

    public void setData_value_012(String data_value_012) {
        this.data_value_012 = data_value_012;
    }

    public String getData_value_013() {
        return data_value_013;
    }

    public void setData_value_013(String data_value_013) {
        this.data_value_013 = data_value_013;
    }

    public String getData_value_014() {
        return data_value_014;
    }

    public void setData_value_014(String data_value_014) {
        this.data_value_014 = data_value_014;
    }

    public String getData_value_015() {
        return data_value_015;
    }

    public void setData_value_015(String data_value_015) {
        this.data_value_015 = data_value_015;
    }

    public String getData_value_016() {
        return data_value_016;
    }

    public void setData_value_016(String data_value_016) {
        this.data_value_016 = data_value_016;
    }

    public String getData_value_017() {
        return data_value_017;
    }

    public void setData_value_017(String data_value_017) {
        this.data_value_017 = data_value_017;
    }

    public String getData_value_018() {
        return data_value_018;
    }

    public void setData_value_018(String data_value_018) {
        this.data_value_018 = data_value_018;
    }

    public String getData_value_019() {
        return data_value_019;
    }

    public void setData_value_019(String data_value_019) {
        this.data_value_019 = data_value_019;
    }

    public String getData_value_020() {
        return data_value_020;
    }

    public void setData_value_020(String data_value_020) {
        this.data_value_020 = data_value_020;
    }

    public String getData_value_021() {
        return data_value_021;
    }

    public void setData_value_021(String data_value_021) {
        this.data_value_021 = data_value_021;
    }

    public String getData_value_022() {
        return data_value_022;
    }

    public void setData_value_022(String data_value_022) {
        this.data_value_022 = data_value_022;
    }

    public String getData_value_023() {
        return data_value_023;
    }

    public void setData_value_023(String data_value_023) {
        this.data_value_023 = data_value_023;
    }

    public String getData_value_024() {
        return data_value_024;
    }

    public void setData_value_024(String data_value_024) {
        this.data_value_024 = data_value_024;
    }

    public String getData_value_025() {
        return data_value_025;
    }

    public void setData_value_025(String data_value_025) {
        this.data_value_025 = data_value_025;
    }

    public String getData_value_026() {
        return data_value_026;
    }

    public void setData_value_026(String data_value_026) {
        this.data_value_026 = data_value_026;
    }

    public String getData_value_027() {
        return data_value_027;
    }

    public void setData_value_027(String data_value_027) {
        this.data_value_027 = data_value_027;
    }

    public String getData_value_028() {
        return data_value_028;
    }

    public void setData_value_028(String data_value_028) {
        this.data_value_028 = data_value_028;
    }

    public String getData_value_029() {
        return data_value_029;
    }

    public void setData_value_029(String data_value_029) {
        this.data_value_029 = data_value_029;
    }

    public String getData_value_030() {
        return data_value_030;
    }

    public void setData_value_030(String data_value_030) {
        this.data_value_030 = data_value_030;
    }

    public String getData_value() {
        return data_value;
    }

    public void setData_value(String data_value) {
        this.data_value = data_value;
    }

    public Integer getData_cnt() {
        return data_cnt;
    }

    public void setData_cnt(Integer data_cnt) {
        this.data_cnt = data_cnt;
    }
    

    public String getMes_id_fk() {
        return mes_id_fk;
    }

    public void setMes_id_fk(String mes_id_fk) {
        this.mes_id_fk = mes_id_fk;
    }

    public String getAc_recipe_id() {
        return ac_recipe_id;
    }

    public void setAc_recipe_id(String ac_recipe_id) {
        this.ac_recipe_id = ac_recipe_id;
    }
    

    public String getRpt_usr() {
        return rpt_usr;
    }

    public void setRpt_usr(String rpt_usr) {
        this.rpt_usr = rpt_usr;
    }

    public String getData_pat_fk() {
		return data_pat_fk;
	}

	public void setData_pat_fk(String data_pat_fk) {
		this.data_pat_fk = data_pat_fk;
	}

	public List<Spc_ret_mfg_data> converToList() throws IllegalAccessException, IllegalArgumentException,
            InvocationTargetException, NoSuchMethodException, SecurityException, NoSuchFieldException, CloneNotSupportedException {
        List<Spc_ret_mfg_data> spcRetMfgDataList = new ArrayList<Spc_ret_mfg_data>();
        for (String column : SPC_RET_MFG_DATA_VALUE_COLUMN_LIST) {
            String value = this.getPropertyValue(column);
            if (!StringUtils.isEmpty(value)) {
                Spc_ret_mfg_data spcRetMfgData = new Spc_ret_mfg_data();
                spcRetMfgData = (Spc_ret_mfg_data) this.clone();
                spcRetMfgData.setData_value(value);
                spcRetMfgDataList.add(spcRetMfgData);
            }
        }
        return spcRetMfgDataList;
    }

    public String getPropertyValue(String properName) throws IllegalAccessException, IllegalArgumentException,
            InvocationTargetException, NoSuchMethodException, SecurityException, NoSuchFieldException {
        Class<?> clazz = this.getClass();
        Field field = clazz.getDeclaredField(properName);
        Object str = field.get(this);
        return str == null ? "" : (String) str;
    }

    public static void main(String[] args) throws IllegalAccessException, IllegalArgumentException,
            InvocationTargetException, NoSuchMethodException, SecurityException, NoSuchFieldException, CloneNotSupportedException {
        Spc_ret_mfg_data spcRetMfgData = new Spc_ret_mfg_data();
        spcRetMfgData.setData_value_001("01");
        spcRetMfgData.setData_value_002("02");
        spcRetMfgData.setData_value_003("03");
        spcRetMfgData.setData_value_004("04");
        spcRetMfgData.setData_value_005("05");
        spcRetMfgData.setData_value_006("06");
        spcRetMfgData.setData_value_007("07");
        List<Spc_ret_mfg_data> converToList = spcRetMfgData.converToList();
        for (Spc_ret_mfg_data spc_ret_mfg_data : converToList) {
            String data_value2 = spc_ret_mfg_data.getData_value();
            System.out.println(data_value2);
        }
    }
}
